{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn import  datasets, cross_validation, ensemble"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用sklearn自带的糖尿病数据\n",
    "def load_data():\n",
    "    diabetes = datasets.load_diabetes()\n",
    "    return cross_validation.train_test_split(diabetes.data,diabetes.target,test_size=0.25,random_state=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Traing score:0.9031483723385461\n",
      "Testing score:0.11874212976571819\n"
     ]
    }
   ],
   "source": [
    "def test_RFR(*data):\n",
    "    X_train,X_test,Y_train,Y_test = data\n",
    "    gegr = ensemble.RandomForestRegressor()\n",
    "    gegr.fit(X_train,Y_train)\n",
    "    print('Traing score:{0}'.format(gegr.score(X_train,Y_train)))\n",
    "    print('Testing score:{0}'.format(gegr.score(X_test,Y_test)))\n",
    "\n",
    "# 开始测试：\n",
    "X_train,X_test,Y_train,Y_test = load_data()\n",
    "test_RFR(X_train,X_test,Y_train,Y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 考个体决策树的数量对结果的影响\n",
    "def test_RFR_num(*data):\n",
    "    X_train,X_test,Y_train,Y_test = data\n",
    "    nums = np.arange(1,100,step=2)\n",
    "    fig = plt.figure()\n",
    "    fig.set_figheight(5)\n",
    "    fig.set_figwidth(15)\n",
    "    ax = fig.add_subplot(111)\n",
    "    traing_score=[]\n",
    "    testing_score=[]\n",
    "    for num in nums:\n",
    "        clf = ensemble.RandomForestRegressor(n_estimators=num)\n",
    "        clf.fit(X_train,Y_train)\n",
    "        traing_score.append(clf.score(X_train,Y_train))\n",
    "        testing_score.append(clf.score(X_test,Y_test))\n",
    "        \n",
    "    ## 绘图 \n",
    "    ax.plot(nums, traing_score,  label='Traing score')\n",
    "    ax.plot(nums, testing_score, label='Testing score')\n",
    "    ax.set_xlabel('estimator_num')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.legend(loc='lower right')\n",
    "    ax.set_title('RandomForestRegressor')    \n",
    "    plt.show()\n",
    "\n",
    "# 开始测试：\n",
    "X_train,X_test,Y_train,Y_test = load_data()\n",
    "test_RFR_num(X_train,X_test,Y_train,Y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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zlg+fcEkJg7PT3VpIiIiIiIygPU07G0xsx8AFwP/bmZZQFryyur/Nu2u53vPruex16oxg2tOLePTF0yibOgRJzEVERERERHpFT0Nex8CLgO+4e61ZjYa+FLyyuq/1u08wPeeXcfvXt9KJM348OnlfOr8SYwpzkl1aSIiIiIiMoj0KOy5ewPw64TtbcC2wz9i8Fm9fR/fXbSOhW9uIzs9wsfPHs8nz53IiMLsVJcmIiIiIiKDUE9b9uQI7lqwgh+9+Db5Wencdv4kPnHOBIblZ6W6LBERERERGcQU9nrBSaVF/P38KXzs7PEU52amuhwRERERERGFvd7wgVNKU12CiIiIiIjIQTSjpoiIiIiIyACksCciIiIiIjIAKeyJiIiIiIgMQAp7IiIiIiIiA5DCnoiIiIiIyACU1LBnZpeZ2RozW2dmdxzhuA+amZtZRTLrERERERERGSySFvbMLALcD1wOzARuMLOZ3RxXAPw98EqyahERERERERlsktmyNxdY5+4b3L0FeAS4upvjvgb8O9CUxFpEREREREQGlWSGvbFAVcJ2dXxfBzM7BShz9z8e6URmdouZVZpZ5a5du3q/UhERERERkQEmZRO0mFka8E3gC0c71t0fcPcKd68YPnx48osTERERERHp55IZ9rYAZQnbpfF97QqAWcCfzext4AxggSZpEREREREROXbJDHuLgSlmNsHMMoHrgQXtd7p7nbuXuPt4dx8PvAxc5e6VSaxJRERERERkUEha2HP3NuB24AlgFfBLd19hZveY2VXJel4RERERERGB9GSe3N0XAgu77PvqYY69IJm1iIiIiIiIDCYpm6BFREREREREkkdhT0REREREZABS2BMRERERERmAFPZEREREREQGIIU9ERERERGRAUhhT0REREREZABS2BMRERERERmAFPZEREREREQGIIU9ERERERGRAUhhT0REREREZABS2BMRERERERmAFPZEREREREQGIIU9ERERERGRAUhhT0REREREZABS2BMRERERERmAFPZEREREREQGoKSGPTO7zMzWmNk6M7ujm/tvNbM3zWyZmT1vZjOTWY+IiIiIiMhgkbSwZ2YR4H7gcmAmcEM3Ye5/3f1Ed58N/AfwzWTVIyIiIiIiMpgks2VvLrDO3Te4ewvwCHB14gHuvi9hMw/wJNYjIiIiIiIyaKQn8dxj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\n",
      "text/plain": [
       "<Figure size 1080x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 最大树深对结果的影响\n",
    "def test_RFR_maxdepth(*data):\n",
    "    X_train,X_test,Y_train,Y_test = data\n",
    "    maxdepths = np.arange(1,20)\n",
    "    fig = plt.figure()\n",
    "    fig.set_figwidth(15)\n",
    "    ax = fig.add_subplot(111)\n",
    "    traing_score=[]\n",
    "    testing_score=[]\n",
    "    for maxdepth in maxdepths:\n",
    "        clf = ensemble.RandomForestRegressor(max_depth=maxdepth)\n",
    "        clf.fit(X_train,Y_train)\n",
    "        traing_score.append(clf.score(X_train,Y_train))\n",
    "        testing_score.append(clf.score(X_test,Y_test))\n",
    "        \n",
    "    ## 绘图 \n",
    "    ax.plot(maxdepths, traing_score,  label='Traing score')\n",
    "    ax.plot(maxdepths, testing_score, label='Testing score')\n",
    "    ax.set_xlabel('maxdepth')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.legend(loc='lower right')\n",
    "    ax.set_title('RandomForestRegressor')    \n",
    "    plt.show()\n",
    "\n",
    "# 开始测试：\n",
    "X_train,X_test,Y_train,Y_test = load_data()\n",
    "test_RFR_maxdepth(X_train,X_test,Y_train,Y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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5mtoQKawW0REJIhC/CO1pWNrW51rRERERDogBWQiIiIiQaaATERERCTIFJCJiIiIBJkCMhEREZEgU0AmIiIiEmQKyERERESCTAGZiIiISJApIBMREREJMgVkIiIiIkGmgExEREQkyBSQiYiIiARZQAMyY8yJxpgfjDHpxpgZtbze2xjzuTFmmTHmO2PMyYEsj4iIiEhbFLCAzBgTCswETgKGA+cbY4bXWO0e4DVr7SjgPODxQJVHREREpK0KZA3Z0UC6tXajtbYceAU4vcY6FkjwP04EsgJYHhEREZE2KSyA++4BbKv2PAMYU2Od+4CPjDE3AbHA8QEsj4iIiEibFOxO/ecDz1prewInAy8YYw4okzHmGmPMYmPM4uzs7FYvpIiIiEggBTIgywR6VXve07+suiuB1wCstd8AUUBqzR1Za/9lrR1trR2dlpYWoOKKiIiIBEcgA7JFwCBjTD9jTASu0/47NdbZCkwBMMYMwwVkqgITERGRDiVgAZm11gvcCMwB1uBGU64yxjxgjJnuX+2XwNXGmBXALOAya60NVJlERERE2qJAdurHWjsbmF1j2b3VHq8GJgSyDCIiIiJtXbA79YuIiIh0eArIRERERIJMAZmIiIhIkCkgExEREQkyBWQiIiIiQaaATERERCTIFJCJiIiIBJkCMhEREZEgU0AmIiIiEmQKyERERESCTAGZiIiISJApIBMREREJMgVkIiIiIkGmgExEREQkyBSQiYiIiASZAjIRERGRIFNAJiIiIhJkCshEREREgkwBmYiIiEiQKSATERERCTIFZCIiIiJBpoBMREREJMgUkImIiIgEmQIyERERkSBTQCYiIiISZArIRERERIJMAZmIiIhIkCkgExEREQkyBWQiIiIiQaaATERERCTIFJCJiIiIBJkCMhEREZEgU0AmIiIiEmQKyERERESCTAGZiIiISJApIBMREREJsoAGZMaYE40xPxhj0o0xM+pY5xxjzGpjzCpjzMuBLI+IiIhIWxQWqB0bY0KBmcBUIANYZIx5x1q7uto6g4C7gAnW2j3GmM6BKo+IiIhIWxXIGrKjgXRr7UZrbTnwCnB6jXWuBmZaa/cAWGt3BbA8IiIiIm1SIAOyHsC2as8z/MuqGwwMNsbMM8Z8a4w5sbYdGWOuMcYsNsYszs7ODlBxRURERIIj2J36w4BBwGTgfOAp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ZtxCXEo3br/7vv3WsdZirSWkelNhWZELyqIS+M9//tPCf1QdErq5QQrFu1ywWQ+v10tYWHBCIwVkIu1BUycGFmmsE34HI8+BHkcEuyTSAPe/u4rVWU3MmO/1gC8HwtLd49AICF3E8O4J/Pa0BmTQD4t0QZx/2rj09HSmT5/OqFGjWLZsGR9//DH3338/S5cupbS0lHNPP4l7b7wIIuKYOHEijz32GIcccgipqalce+21fPDBB8TExPD222/TuXNn1q9fz0UXXURJSQnTp09n5syZ5OXl7VeEwsJCzjnnHLKysqisrOS+++7jrLPOYsGCBdx6662UlJQQFWb4/LUnMCaOa2+4kaVLlxIeHs7DDz/MMcccw9NPP817771Hfn4+ISEhfPrppzz44IO88cYbeDwezjrrLO69996mvceNoGFJIiKyT2i4grGOIiwSMC4YwzQ+fYUxLoNpWIwAABIMSURBVIjzlu8dLb527Vp+8YtfsHr1anr06MGDDz7I4sWLWbFiBR9/9jmrN28/oOkwPz+fY489lhUrVjBu3Dj+/e9/A3DTTTdx++23s3LlSrp1q712a/bs2fTt25cVK1bw/fffM3XqVDweD+eddx4zZ85kxYoVfDTnQyIjwnj0738iMjKSlStX8sILL3DxxRdTXl4OwLJly3jjjTf49NNPmT17Nlu3bmXBggUsX76c+fPnM39+E2claATVkImIiLRTDarJOpjiHMjfBnFdXfNeY4VFAuVQUQrAgAEDGD16X8qtWbNm8cwzz+CtqCArM4PVG7czfPz+u4iOjuakk9xo7yOPPJKvv/4agAULFjB79mwALrjgAu65554DDj9y5EhmzJjBjBkzOO2005gwYQLLli2jd+/eHHGEu7BITO0Ke8qYO3ced9ztarpGjBhB9+7dSU9PB+CEE04gOTkZgI8++ogPPviAUaNGAVBUVMS6desYP378AcdvSQrIREREOqqYFBdU1TZFUkOERgDle/ORxcbu28/69et55JFHWLhwIUlhFVx06aV4Kg8cjVl9EEBoaCher7fBhx82bBiLFy9m9uzZzJgxg5NOOmlvcLefqiS3deQlq15uay333HMPV15ZyzyeAaQmSxERkY7KGDcasanZ7ENCXU7DWhLEFhQUEB8fT0JCAtu3pDPni28b1Sx69NFH8+abbwLwyiu1zyaSmZlJXFwcF198Mb/85S9ZunQpw4cPZ+vWrSxdunRvOSpNGJMmTeClWa+C18OaNWvYvn07AwcOPGCf06ZN45lnnqG4uBiAjIwMcnJyGlzuplINmYiIiDRdWKRLKuuL3m/xEUccwfDhwxk6dCh9unZiwtijGrXbRx99lIsvvpj777+fadOmkZh44CjzFStWMGPGDEJCQoiIiOCJJ54gMjKSWbNmcd111+HxeIiOjuazzz7jpttm8PPLL+TQkYcTHhXD888/X2uKjpNPPpm1a9cyduxYAOLj43n55ZdJTa1/BGpzaC5LERGRdmTNmjUMGzYs2MXYpzQf9myElIG1J5r25MPujdBpQKOmTCouLiYmJgZjDC+++CJvvvkmr7/+evPKWpDlUn2kDYXw6PrXb6Ta/jcNnctSNWQiIiLSdJH+/ldlhXUEZAWuSTQirlG7XbRoEbfeeis+n4/k5OSWyV0W19kNZCjIgpQBzd9fC1JAJiIiIk0XEubmjaxtonFr3fyVEXGNnk9y8uTJLgFtSwoJc0FZ4XaXqDaycUFiIKlTv4iIiDRPZDxUlICvxghJbxlUljeqqTLgYtNcYFa4fW/+tLZAAZmIiIg0T1VTZVnR/svL/LMIRLahgCwk1OVdKy+qvVYvSBSQiYiISPNExPL/7d17kJX1fcfx9wdYWRBKLHhHghOIgmCXSxjBeqkiiI5opijEikIwiJNgSIWZbUsVNU0gl8ZQt1WrW++iEajULAMRtV5QBGGXBRWlxhJQJ7BRRLaELHz7x/OA63I7wJ4Lns9rZmee+/Pd8+Ucvvt7fuf3gxZJkdPYts3QqjQdQLaAHN0RWrXZs0Uvj9yHzMzMzA6PWiSd+xu3OO3ckQyHcXQBzsWrFnDsack4bAXCLWRmZmaWsbq6OsrKyigrK+OEE07g5JNPTtb/6gq2129J+oxBWpzFPvuPVVZW8tFHH+1eHzt2LGvWrMnBb5AqoGIM3EJmZmZmB6Fjx467v/04bdo02rVrx+TJk2F7PWxak/Qja/vnSf8xtdjntEyVlZX07duXE05IpjVqlmEtsqChoYFWrbJfLrkgMzMzO1LNL4ePapv3mif0hmHTD/68kjY8+KtfU/HQU2zfAYPKTueun/2QnTt2MnbsdVRXVxMRjB8/nuOPP57q6mpGjhxJmzZteP3117ngggu466676NWrF506dWLChAnMnz+ftm3b8vTTT3Pcccfx7rvvcs0111BfX8/w4cOpqKjgk08++UIYW7Zs4aqrruKDDz5gx44dTJs2jREjRrBkyRImTZpEfX09paWlPP/880hiwoQJLF++nJKSEu68807OPfdc7rvvPp555hk2b95MixYtWLRoEdOnT2fOnDls27aNESNGcMsttzTTC57wI0szMzM7bKtWr2bughdZ/PQDVC99lYaG7cz6r0W88cYbbNq0idraWlatWsW1117LyJEjKSsr44knnqC6unqPKYw2b97MeeedR01NDQMHDqSyshKAiRMnMnnyZGpraznxxBP3GkdVVRVdu3alpqaGVatWcdFFF7Ft2zZGjRpFRUUFNTU1LFy4kNatWzNz5kxat25NbW0tDz/8MKNHj2b79uSR64oVK5gzZw6LFi2iqqqKdevWsWTJEqqrq1m8eDGLFy9u1tfPLWRmZmZHqkNpycqSZ599lqXVtfQfOhJatOT/6us5pfuZDB0+gjVr1nDTTTdx6aWXMmTIkANeq02bNgwbNgyAfv368dJLLwGwZMkSqqqqALj66quZOnXqHueeeeaZlJeXU15ezmWXXcbZZ5/NihUr6NKlC3379gXYPS/myy+/zJQpUwA444wzOOmkk1i7di0AQ4YM4ZhjjgFg4cKFzJ8/nz59+gDw2Wef8c477zBo0KBDfr2ackFmZmZmhy0i+PbYMdzx3auSDa3awHGnA7By5Urmz59PRUUFs2fP5t57793vtRq3mLVs2ZKGhsyHp+jRowfLli2jqqqK8vJyhg0btru4OxhHH/1537eIYOrUqYwbN+6gr5MpP7I0MzOzwzZ48GCefGoOmz7ZCkBdfQPr1q1j48aNRARXXnklt99+O8uXLwegffv2bNlycAOzDhgwgLlz5wIwa9asvR6zYcMG2rVrx+jRo7n55ptZvnw5PXv2ZN26dbvv/emnn7Jjxw7OOeccHn30USCZGPzDDz+kW7due1xz6NCh3H///Wzdmvxu69evZ9OmTQcV+4G4hczMzMwOW+/evbn11lsZPHI8O3f8iZLSdtx9z720bNmScePGERFIYsaMGUAyzMX111+/u1N/JmbOnMno0aO57bbbGDp06O5Hj43V1NRQXl5OixYtOOqoo7j77rtp3bo1jz/+ODfeeCPbtm2jTZs2PPfcc0ycOJEbbriB3r17U1JSwkMPPbRH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\n",
      "text/plain": [
       "<Figure size 720x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 考虑max_features对结果的影响\n",
    "def test_RFR_max_feature(*data):\n",
    "    X_train,X_test,Y_train,Y_test = data\n",
    "    max_features = np.linspace(0.01,1.0)\n",
    "    fig = plt.figure()\n",
    "    fig.set_figwidth(10)\n",
    "    ax = fig.add_subplot(111)\n",
    "    traing_score=[]\n",
    "    testing_score=[]\n",
    "    for max_feature in max_features:\n",
    "        clf = ensemble.RandomForestRegressor(max_features=max_feature)\n",
    "        clf.fit(X_train,Y_train)\n",
    "        traing_score.append(clf.score(X_train,Y_train))\n",
    "        testing_score.append(clf.score(X_test,Y_test))\n",
    "        \n",
    "    ## 绘图 \n",
    "    ax.plot(max_features, traing_score,  label='Traing score')\n",
    "    ax.plot(max_features, testing_score, label='Testing score')\n",
    "    ax.set_xlabel('max_feature')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.legend(loc='lower right')\n",
    "    ax.set_title('RandomForestRegressor')    \n",
    "    plt.show()\n",
    "\n",
    "# 开始测试：\n",
    "X_train,X_test,Y_train,Y_test = load_data()\n",
    "test_RFR_max_feature(X_train,X_test,Y_train,Y_test)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
